#include "../StdInc.h"

namespace GSTrader
{
	namespace TradeStrategy
	{
		CStrategy::CStrategy(CStrategySession* pStrategySession, string strStrategyName) : CStrategyBase(pStrategySession, strStrategyName)
		{

		}

		CStrategy::~CStrategy()
		{
			
		}

		void CStrategy::StrategyInit()
		{
			CStrategyBase::StrategyInit();
		}

		void CStrategy::OnStrategyInit()
		{

		}

		void CStrategy::OnStrategyStart()
		{

		}

		void CStrategy::OnStrategyStop()
		{

		}

		void CStrategy::OnStrategySuspend()
		{

		}

		void CStrategy::OnStrategyResume()
		{

		}

		void CStrategy::SetTimer(int nIDEvent, int nElapse)
		{

		}

		void CStrategy::OnTimer(int nIDEvent)
		{

		}

		void CStrategy::OnMarketData(CDepthMarketData* pTick)
		{

		}

		void CStrategy::OnBar(CBarData* pBar)
		{

		}

		void CStrategy::OnBarOpen(CBarData* pBar)
		{

		}

		void CStrategy::OnBarSlice(CBarData* pBar)
		{

		}


		void CStrategy::OnOrderCanceled(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderDone(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderTraded(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderPartTraded(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderStatusChanged(COrder* pOrder, int nOldStatus)
		{

		}

		void CStrategy::OnTrade(COrder* pOrder, CTrade* pTrade)
		{

		}

		void CStrategy::OnExecutionReport(CExecutionReport* pReport)
		{

		}

		void CStrategy::OnPendingNewOrder(COrder* pOrder)
		{

		}

		void CStrategy::OnSendOrder(COrder* pOrder)
		{

		}

		void CStrategy::OnNewOrder(COrder* pOrder)
		{

		}

		void CStrategy::OnCancelOrder(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderFailed(COrder* pOrder)
		{

		}

		void CStrategy::OnCancelOrderFailed(COrder* pOrder)
		{

		}

		void CStrategy::OnOrderError(COrder* pOrder)
		{

		}

		void CStrategy::OnNewReplaceOrder(COrder* pDeleteOrder, COrder* pNewOrder)
		{

		}

		void CStrategy::OnReplaceOrderCanceled(COrder* pOrder)
		{

		}

		void CStrategy::OnReplaceSendNewOrder(COrder* pOrder)
		{

		}

		void CStrategy::OnExchangeStatusChange(CExchangeStatus* pExchangeStatus)
		{

		}

		void CStrategy::OnInstrumentBegin(int nProviderId)
		{

		}

		void CStrategy::OnInstrumentEnd(int nProviderId)
		{

		}

		void CStrategy::OnInstrumentAdded(CInstrument* pInstrument)
		{

		}

		void CStrategy::OnInstrumentRemoved(CInstrument* pInstrument)
		{

		}

		void CStrategy::OnPositionOpend(CPortfolioPosition* pPosition)
		{

		}

		void CStrategy::OnPositionChanged(CPortfolioPosition* pPosition)
		{

		}

		void CStrategy::OnPositionClosed(CPortfolioPosition* pPosition)
		{

		}

		void CStrategy::OnTradeConnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnMarketDataConnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnTradeDisconnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnMarketDataDisconnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnTradeReConnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnMarketDataReConnected(CAccountData* pAccountData)
		{

		}

		void CStrategy::OnError(CErrorMsg* pErrorMsg)
		{

		}

		void CStrategy::OnParamChange(CStrategyParameterInfo* pInfo)
		{

		}

		void CStrategy::OnAddProvider(CConnectionProvider* pProvider)
		{

		}

		void CStrategy::OnRemoveProvider(CConnectionProvider* pProvider)
		{

		}
	}
}